package com.hehua.LazySingleton;

/**
 * 懒汉式
 * 在多线程的情况下使用双重判断,保证对象的唯一性
 */
public class LazySingleton {
    private volatile static LazySingleton lazySingleton = null;
    private LazySingleton(){

    }

    public static LazySingleton getInstance(){
        //第一重判断
        if (lazySingleton == null){
            synchronized (LazySingleton.class){
                //第二重判断
                if (lazySingleton == null){
                    lazySingleton = new LazySingleton();
                }
            }
        }
        return lazySingleton;
    }
}
